package com.itheima.加强训练;

import java.util.ArrayList;
import java.util.Collections;
import java.util.Iterator;

/**
 * @Author 王加鑫
 * @Date 2021/5/16 21:26
 * @Version 1.0
 * 马冬梅一次性购买了5本书，请定义一个List集合，存储以下书名：
 * “JavaEE企业级开发指南”，”Oracle高级编程”，”Oracle从入门到精通”， ”Java架构师之路”，“Java核心思想”。
 * 请编程实现以下功能：
 * 1 使用迭代器遍历所有元素，并打印
 * 2 筛选书名小于10个字符的，并打印
 * 3 筛选书名中包含“Java”的，并打印
 * 4 如果书名中包含“Oracle”，则删掉此书。删掉后，打印集合中的所有书名。
 * (注意：以上功能写在一个main()方法中，每一个功能单独实现)
 */
public class Demo3 {
    public static void main(String[] args) {
        ArrayList<String> list = new ArrayList<>();
        Collections.addAll(list,"JavaEE企业级开发指南","Oracle高级编程","Oracle从入门到精通","Java架构师之路","Java核心思想");
        //method1(list);
        //method2(list);
        //method3(list);
        method4(list);


    }

    private static void method4(ArrayList<String> list) {
        Iterator<String> iterator = list.iterator();
        while (iterator.hasNext()){
            String s = iterator.next();
            if(s.contains("Oracle")){
                iterator.remove();
            }
        }
        for (String s : list) {
            System.out.println(s);
        }
    }

    private static void method3(ArrayList<String> list) {
        list.forEach(s -> {
            if(s.contains("Java")){
                System.out.println(s);
            }
        });
    }

    private static void method2(ArrayList<String> list) {
        list.forEach(s -> {
            if(s.length() < 10){
                System.out.println(s);
            }
        });
    }

    private static void method1(ArrayList<String> list) {
        list.forEach(s -> {
            System.out.println(s);
        });
    }
}
